<template>
  <div class="person">
    <h1>情况一：监视【ref】定义的【基本类型】数据</h1>
    <h2>当前求和为：{{ sum }}</h2>
    <button @click="changeSum">点我sum+1</button>
  </div>
</template>
<script lang="ts" setup name="Person">
import { ref, watch } from 'vue'
// watch作用：监视数据的变化 和vue2中的作用一致
// 特点：Vue3中的watch只能监视以下四种数据
// 1.ref定义的数据：直接写数据名即可，监视的是value值的变化
// 2.reactive定义的数据
// 3.函数返回一个值（getter函数）
// 4.一个包含上诉内容的数组

// 数据
let sum = ref(0)
// 方法
function changeSum(){
  sum.value += 1
}
// 监视， 情况一：监视【ref】定义的【基本类型】数据
const stopWatch = watch(sum,(newValue, oldValue)=>{
  console.log('sum变化了', newValue, oldValue)
  if(newValue >= 10) {
    stopWatch()
  }
})

</script>

<style scoped>
    .person {
        background-color: #ddd;
        box-shadow: 0 0 10px;
        border-radius: 10px;
        padding: 20px;
    }
    button {
        margin: 0 5px;
    }
</style>
